更新时间:2024-06-12 09:02
无线安全标准,WPA是其子集。这种安全标准为增强WLAN的数据加密和认证性能,定义了RSN(Robust Security Network)的概念,并且针对WEP加密机制的各种缺陷做了多方面的改进。IEEE 802.11主要的标准范畴分为媒介层(MAC)与物理层(PHY),套用过来,前者就是OSI的数据链路层中的媒体访问控制子层,后者直接就对应OSI的物理层。我们耳熟能详的IEEE 802.11a/b/g,主要是以PHY层的不同作为区分,所以它们的区别直接表现在工作频段及数据传输率、最大传输距离这些指标上。而工作在媒介层的标准——IEEE 802.11e/f/i则被整个IEEE 802.11族所共用。
IEEE 802.11i规定使用802.1x认证和密钥管理方式,在数据加密方面,定义了TKIP(Temporal Key Integrity Protocol)、CCMP(Counter-Mode/CBC-MAC Protocol)和WRAP(Wireless Robust Authenticated Protocol)三种加密机制。其中TKIP采用WEP机制里的RC4作为核心加密算法,可以通过在现有的设备上升级固件和驱动程序的方法达到提高WLAN安全的目的。
CCMP机制基于AES(Advanced Encryption Standard)加密算法和CCM(Counter-Mode/CBC-MAC)认证方式,使得WLAN的安全程度大大提高,是实现RSN的强制性要求。由于AES对硬件要求比较高,因此CCMP无法通过在现有设备的基础上进行升级实现。WRAP机制基于AES加密算法和OCB(Offset Codebook),是一种可选的加密机制。
IEEE 802.11i是802.11工作组为新一代WLAN制定的安全标准,主要包括加密技术:TKIP(Temporal Key Integrity Protocol)、AES(Advanced Encryption Standard)以及认证协议IEEE802.1x。认证方面。IEEE 802.11i采用802.1x接入控制,实现无线局域网的认证与密钥管理,并通过EAP-Key的四向握手过程与组密钥握手过程,创建、更新加密密钥,实现802.11i中定义的鲁棒安全网络(Robust Security Network,RSN)的要求。
数据加密方面,IEEE 802.11 i定义了TKIP(Temporal Key IntegrityProtocol)、CCMP(Counter-Mode/CBC-MAC Protocol)和WRAP(Wireless Robust Authenticated Protocol)三种加密机制。一方面,TKIP采用了扩展的48位IV和IV顺序规则、密钥混合函数(Key Mixing Function),重放保护机制和Michael消息完整性代码(安全的MIC码)这4种有力的安全措施,解决了WEP中存在的安全漏洞,提高安全性。就目前已知的攻击方法而言,TKIP是安全的。另一方面,TKIP不用修改WEP硬件模块,只需修改驱动程序,升级也具有很大的便利性。因此,采用TKIP代替WEP是合理的,但是TKIP是基于RC4的,RC4已被发现存在问题,可能今后还会被发现其他的问题。
另外,RC4一类的序列算法,其加解密操作只是简单的异或运算,在无线环境下具有一定的局限性,因此TKIP只能作为一种短期的解决方案。此外,802.11中配合AES使用的加密模式CCM和OCB,并在这两种模式的基础上构造了CCMP和WRAP密码协议。CCMP机制基于AES(Advanced Encryption Standard)加密算法和CCM(Counter-Mode/CBC-MAC)认证方式,使得WLAN安全程度大大提高,是实现RSN的强制性要求。由于AES对硬件要求比较高,CCMP无法通过在现有设备的基础上升级实现。WRAP机制则是基于AES加密算法和OCB(Offset Code book)。
802.11i定义的安全工作机制流程如图1所示。
图1 安全工作机制
(1)安全能力通告协商阶段
安全能力通告发生在STA与AP之间建立802.11关联阶段,过程如下。
● AP的安全能力通告
AP为通告自身对WPA的支持,会对外发送一个包含AP的安全配置信息(包括加密算法及认证方法等安全配置信息)的帧。
● STA同AP之间的链路认证
STA向AP发送802.11X系统认证请求,AP响应认证结果。
● STA同AP建立802.11关联
STA根据AP通告的IE信息选择相应的安全配置,并将所选择的安全配置信息发送至AP。在该阶段中,如果STA不支持AP所能支持的任何一种加密和认证方法,则AP可拒绝与之建立关联;反过来,如果AP不支持STA支持任何一种加密和认证方法,则STA也可拒绝与AP建立关联。
(2)安全接入认证阶段
该阶段主要进行用户身份认证,并产生双方的成对主密钥PMK。PMK是所有密钥数据的最终来源,可由STA和认证服务器动态协商而成,或由配置的预共享密钥(PSK)直接提供。对于802.1X认证方式:PMK是在认证过程中STA和认证服务器动态协商生成(由认证方式协议中规定),这个过程对AP来说是透明的,AP主要完成用户认证信息的上传、下达工作,并根据认证结果打开或关闭端口。对于PSK认证:PSK认证没有STA和认证服务器协商PMK的过程,AP和STA把设置的预共享密钥直接当作是PMK,只有接入认证成功,STA和认证服务器(对于802.1X认证)才产生双方的PMK。对于802.1X接入认证,在认证成功后,服务器会将生成的PMK分发给AP。
(3)会话密钥协商阶段
该阶段主要是进行通信密钥协商,生成PTK和GTK,分别用来加密单播和组播报文。AP与STA通过EAPOL-KEY报文进行WPA的4次握手(4-Way Handshake)进行密钥协商。在4次握手的过程中,AP与STA在PMK的基础上计算出一个512位的PTK,并将该PTK分解成为以下几种不同用途的密钥:
数据加密密钥、MIC Key(数据完整性密钥)、EAPOL-Key报文加密密钥、EAPOL-Key 报文完整性加密密钥等。用来为随后的单播数据帧和 EAPOLKey消息提供加密和消息完整性保护。
在4次握手成功后,AP使用PTK的部分字段对GTK进行加密,并将加密后的GTK发送给STA,STA使用PTK解密出GTK。GTK是一组全局加密密钥,AP用GTK来加密广播、组播通信报文,所有与该AP建立关联的STA均使用相同的GTK来解密AP发出的广播,组播加密报文并检验其MIC。
(4)加密数据通信阶段
该阶段主要进行数据的加密及通信。TKIP或AES加密算法并不直接使用由PTK/GTK分解出来的密钥作为加密报文的密钥,而是将该密钥作为基础密钥(Base Key),经过两个阶段的密钥混合过程,从而生成一个新密钥。每一次报文传输都会生成不一样的密钥。在随后的通信过程中,AP和STA都使用该密钥加密通信